# !/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
===========================
@Time : 2022/8/21 0021 7:32
@Author : 测试开发工程师
@File : 8. Flask RESTX 接口使用.py
@Software: PyCharm
============================
"""

"""
一：设计框架的原则
    复用性
    高内聚，低耦合

二：编写 RESTFUL 风格的接口
     请求的 ： http://127.0.0.1:5000/user
     接口的 restful-api :  http://127.0.0.1:5000


三：添加路由的方式
    一. 装饰器方法 ： 
    # 装饰器 添加路由
    
    二. api 的 add_resource() 方法
    api.add_response(User,'/user','user1','userinfo')
    
    @api.route('/login','/login1','/checkin')
    class TestCase(Resource):
        pass
    
    # api 的 add_response() 方法
    api.add_response(Login,'/login','login1')
    
"""

from flask import Flask
from flask_restx import Resource, Api

# RESTFUL 风格规范的接口
app = Flask(__name__)
api = Api(app)


# 接口路径定义到类上，对应的不同请求操作创建不同的方法
@api.route('/user', '/user1', '/userinfo')
class User(Resource):
    #  RESTFUL 风格的 get 方法
    def get(self):
        return {'code': 0, 'msg': 'get success'}

    #  RESTFUL 风格的 post 方法
    def post(self):
        return {'code': 0, 'msg': 'post success'}

    #  RESTFUL 风格的 put 方法
    def put(self):
        return {'code': 0, 'msg': 'put success'}

    #  RESTFUL 风格的 delete 方法
    def delete(self):
        return {'code': 0, 'msg': 'delete success'}


if __name__ == '__main__':
    app.run(debug=True)
